iT邦幫忙

DAY 9
1

java菜鳥的學習筆記系列 第 9

灰煞煞之Java FX 2.0-Collection in javaFX-Part3

  • 分享至 

  • xImage
  •  

今日分享在Java FX中collection中ObservableList的基本使用,FX Collection相關類別與介面均放在javafx.collections底下,javafx的collection多數類別也是實作java.util.List/Map與Observable介面,故fxCollection中之實例可以加入ListChangeListener,使list有新增修改刪除的時候會觸發onChange方法,另定義類別Change用來獲得已觸發事件的相關資訊,如boolean wasAdded代表是否有新增元素等。

import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;


import java.util.Iterator;


public class FXCollectionsTest {
    public void getList() {
        ObservableList<Integer> ole = FXCollections.observableArrayList(); //ObservableList需要用FXCollections中static method產生

        ole.addListener(new ListChangeListener<Integer>() { //加入ListChangeListener
            @Override
            public void onChanged(Change<? extends Integer> change) {  
                System.out.println("TotalList= " + change.getList()); //每當有變化的時候,就把list列印一次
            }
        });

        ole.add(1); //增加單一元素, [1]

        ole.addAll(7, 9,7,16,4); //一次增加多個元素, [1, 7, 9, 10, 16, 4]

        ole.set(1, 5); //修改某一元素數值, [1, 7, 9, 10, 16, 4] 

        ole.remove(2); //移除index為2的元素, [1, 5, 10, 16, 4]

        Iterator<Integer> iterator = ole.iterator(); //可用iterator走訪list中所有元素
        											 //跟java.util.list用法相同
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            if (next>=10) {
                iterator.remove();//超過10的移除, [1, 5, 7, 4]
            }
        }

        ole.removeAll(5, 7); //移除數值5、7, [1,4]
    }
}

上一篇
灰煞煞之Java FX 2.0-Bindings Class(四則運算)Part2
下一篇
灰煞煞之Java FX 2.0-產生PieChart與LineChart-Part4
系列文
java菜鳥的學習筆記28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言